There is an increased interest in HTTP (Hyper Text Transfer Protocol) streaming of media, in particular video. Recently, this has evolved beyond simple progressive download to give two new features: adaptivity and live content. The way this is achieved is that the content is partitioned into multiple segments, or files, each corresponding to a small interval of content, for example 10 seconds of content. The client is provided with a manifest file, also known as a Media Presentation Description, (MPD), which lists the different segments and where to fetch them and the client fetches them one by one. The split into different segments/files that are fetched via a standard web protocol e.g. HTTP, is also said to be cache-friendly, or CDN (Content Distribution Network) friendly, since it does not require any state in the server or cache, in contrast with streaming servers based on protocol such as RTSP (Real Time Streaming Protocol). Multiple levels are possible within intervals and segments. For example, it is possible to do add insertion, by changing the content during one interval, and then return to the original content stream in the next interval.
Adaptivity is achieved by providing multiple versions of the content, so that the client can chose to fetch the version which it estimates to be the best given the network performance/download time. From the clients' point of view, adaptivity is much easier solved if the segments of different versions or representations have the same duration, so that the client can simply make the decision for each segment download on which version to chose. However, by imposing the same duration for all versions of the segments, their respective sizes will vary significantly. This is by no means optimal for the caching servers, which often have better performance if the segments are of the same, or similar, size. Size-alignment is therefore desirable for the caches/servers, but makes the adaptivity mechanism in the clients more difficult. Whether one should optimize for the servers or the clients is a tradeoff.
Two existing solutions to this problem are SmoothStreaming from Microsoft® and LiveStreaming from Apple®, both of which have chosen the equal duration track. Within 3GPP SA4 the discussions mainly deal with equal size tracks instead.
Based on the above, there is a need for a solution that allows for different trade-offs between adaptivity performance on the client side and equal-size files/segments on the servers/caches.